package com.ce.pms.charge.service;

import java.util.List;

import com.ce.pms.base.service.IPmsBaseService;
import com.ce.pms.charge.model.PeriodDomain;
import com.ce.pms.charge.vo.PeriodVO;
import com.ce.pms.house.model.HouseDomain;

public interface IPeriodService extends IPmsBaseService {
	/**
	 * 方法描述: 根据房屋ＩＤ查询其对应的收费管理区下的当前有效收费周期方法
	 * @author 胡煦
	 * Create on:2008-9-4
	 * @param house
	 * @return PeriodDomain
	 * Edit author:
	 * Edit on:
	 * 修改原因：
	 */
	public PeriodDomain findPeriodByHouseId(Long id);

	/**
	 * 功能描述: 根据收费周期状态查询收费周期 <br>
	 * @param validity 收费周期状态
	 * @return
	 * Create author:黄彦军 <br>
	 * Create on:2008-8-29  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public List<PeriodVO> findPeriodByValidity(String validity);

	/**
	 * 功能描述:根据收费管理区查询收费周期   <br>
	 * @param PrecinctId  管理区ID
	 * @param validity  收费周期有效性 0:无效  1:有效  null:查询全部
	 * @return
	 * Create author:黄彦军 <br>
	 * Create on:2008-9-4  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public List<PeriodVO> findPeriodByPrecinct(Long PrecinctId, String validity);

	/**
	 * 功能描述:取得当前收费周期，与权限配合使用才有实际意义<br>
	 * @return<br>
	 * Create author:罗军林<br>
	 * Create on:2008-9-16<br>
	 * Edit author:<br>
	 * Edit on:<br>
	 * Why:<br>
	 */
	public PeriodVO queryCurrentPeriod();
	
	/**
	 * 功能描述:根据id查询收费周期  <br>
	 * @param periodId
	 * @return
	 *
	 * Create author:付湘辉 <br>
	 * Create on:2009-1-7  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public PeriodDomain getPeriodDomainById(Long periodId);
}
